import axios from 'axios';

//1. 创建axios对象
const service = axios.create({
  baseURL: process.env.VITE_API_ROOT,
});

//2. 请求拦截器
service.interceptors.request.use(config => {
  // 从本地存储中获取 JWT token
  const token = localStorage.getItem('token');
  // 如果 JWT token 存在，则在请求 Header 中添加 Authorization Header
  if (token) {
    config.headers.Authorization = `JWT ${token}`;
  }
  return config;
}, error => {
  Promise.reject(error);
});

//3. 响应拦截器
service.interceptors.response.use(response => {
  //判断code码
  return response.data;
}, error => {
  // 判断是否为 401 错误
  if (error.response.status === 401) {
    // 跳转到登录页面
    localStorage.removeItem('token');
    router.push({ name: '/login' });
  }
  return Promise.reject(error);
});

export default service;
